<?php

class zdInfoblocksComponents extends sfComponents {

	
public function executeUsefull() {
		
		$c = new Criteria();		
		$c->add(MaterialPeer::TYPE_ID,6);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_usefull'));
	   if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        }
        $c->setLimit(sfconfig::get('app_main_page_limit_usefull'));
        
		$c->addDescendingOrderByColumn(MaterialPeer::RATING);
		$this->mat = MaterialPeer::doSelect($c);

	}
	
	
	
	public function executeAbout() {

		$c = new Criteria();
		
		$c->add(MaterialPeer::TYPE_ID,3);
		//$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_about'));
		
	
		
    			
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	
        		$c->addAnd(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id')); 
        	
        } 
		
		
		$this->mat = MaterialPeer::doSelect($c);		
		
	}
	
	
	public function executeAdv() {
		
		$c = new Criteria();		
		$c->add(MaterialPeer::TYPE_ID,8);
		$c->addAnd(MaterialPeer::PUB,true);
	   if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        }
        $c->setLimit(sfconfig::get('app_main_page_limit_adv'));
		$c->addDescendingOrderByColumn(MaterialPeer::ID);
		$this->mat = MaterialPeer::doSelect($c);

	}
	
	public function executeAfisha() {
		
		$c = new Criteria();		
		$c->add(MaterialPeer::TYPE_ID,6);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_afisha'));
		
		/*
		 * проверяем на период отображения материала (НАЧАЛО)
		 */

		$what_is_date=date('Y-m-d');
		$crit1=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, $what_is_date, Criteria::LESS_EQUAL);
		$crit2=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE2, $what_is_date, Criteria::GREATER_EQUAL);
		$crit1->addAnd($crit2);  
		$crit3=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, NULL, Criteria::ISNULL);
		$crit1->addOr($crit3);  
		$c->add($crit1);

		/*
		 * проверяем на период отображения материала (КОНЕЦ)
		 */
		
    			
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        }
		
		
		$c->setLimit(sfconfig::get('app_main_page_limit_afisha'));
		$c->addDescendingOrderByColumn(MaterialPeer::ID);
		$this->mat = MaterialPeer::doSelect($c);
	}		

	public function executeArticles() {
		$c = new Criteria();
		$c->add(MaterialPeer::TYPE_ID,7);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_journal'));

		/*
		 * проверяем на период отображения материала (НАЧАЛО)
		 */
		 
		$what_is_date=date('Y-m-d');
		$crit1=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, $what_is_date, Criteria::LESS_EQUAL);
		$crit2=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE2, $what_is_date, Criteria::GREATER_EQUAL);
		$crit1->addAnd($crit2);  
		$crit3=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, NULL, Criteria::ISNULL);
		$crit1->addOr($crit3);  
		$c->add($crit1);

		/*
		 * проверяем на период отображения материала (КОНЕЦ)
		 */		
		
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        }
		
		
		$c->setLimit(sfconfig::get('app_main_page_limit_articles'));
		$c->addDescendingOrderByColumn(MaterialPeer::RATING);		
		$this->mat = MaterialPeer::doSelect($c);
	}


	public function executeBonus() {
		$c = new Criteria();
		$c->add(MaterialPeer::TYPE_ID,6);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_bonus'));
		
		/*
		 * проверяем на период отображения материала (НАЧАЛО)
		 */
		 
		$what_is_date=date('Y-m-d');
		$crit1=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, $what_is_date, Criteria::LESS_EQUAL);
		$crit2=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE2, $what_is_date, Criteria::GREATER_EQUAL);
		$crit1->addAnd($crit2);  
		$crit3=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, NULL, Criteria::ISNULL);
		$crit1->addOr($crit3);  
		$c->add($crit1);

		/*
		 * проверяем на период отображения материала (КОНЕЦ)
		 */		
		
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        }
		
		
		$c->setLimit(sfconfig::get('app_main_page_limit_bonus'));
		$c->addDescendingOrderByColumn(MaterialPeer::ID);		
		$this->mat = MaterialPeer::doSelect($c);
	}
		
	public function executeKonkurs() {
		$c = new Criteria();
		$c->add(MaterialPeer::TYPE_ID,6);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_konkurs'));
		
		/*
		 * проверяем на период отображения материала (НАЧАЛО)
		 */
		 
		$what_is_date=date('Y-m-d');
		$crit1=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, $what_is_date, Criteria::LESS_EQUAL);
		$crit2=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE2, $what_is_date, Criteria::GREATER_EQUAL);
		$crit1->addAnd($crit2);  
		$crit3=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, NULL, Criteria::ISNULL);
		$crit1->addOr($crit3);  
		$c->add($crit1);

		/*
		 * проверяем на период отображения материала (КОНЕЦ)
		 */		
		
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        }
		
		
		$c->setLimit(sfconfig::get('app_main_page_limit_konkurs'));
		$c->addDescendingOrderByColumn(MaterialPeer::ID);		
		$this->mat = MaterialPeer::doSelect($c);
	}
	
	public function executeNew_forum() {

	}
	
	public function executeNews() {
		$c = new Criteria();
		$c->add(MaterialPeer::TYPE_ID,6);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_news'));

		/*
		 * проверяем на период отображения материала (НАЧАЛО)
		 */
		 
		$what_is_date=date('Y-m-d');
		$crit1=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, $what_is_date, Criteria::LESS_EQUAL);
		$crit2=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE2, $what_is_date, Criteria::GREATER_EQUAL);
		$crit1->addAnd($crit2);  
		$crit3=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, NULL, Criteria::ISNULL);
		$crit1->addOr($crit3);  
		$c->add($crit1);

		/*
		 * проверяем на период отображения материала (КОНЕЦ)
		 */		
		
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        } 
        		
		$c->setLimit(sfconfig::get('app_main_page_limit_news'));
		$c->addDescendingOrderByColumn(MaterialPeer::ID);
		$this->mat = MaterialPeer::doSelect($c);
	}				
	
	
	public function executeRecomendacii() {
		$c = new Criteria();
		$c->add(MaterialPeer::TYPE_ID,6);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_recomendacii'));

		/*
		 * проверяем на период отображения материала (НАЧАЛО)
		 */
		 
		$what_is_date=date('Y-m-d');
		$crit1=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, $what_is_date, Criteria::LESS_EQUAL);
		$crit2=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE2, $what_is_date, Criteria::GREATER_EQUAL);
		$crit1->addAnd($crit2);  
		$crit3=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, NULL, Criteria::ISNULL);
		$crit1->addOr($crit3);  
		$c->add($crit1);

		/*
		 * проверяем на период отображения материала (КОНЕЦ)
		 */		
		
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        } 
        		
		$c->setLimit(sfconfig::get('app_main_page_limit_recomendacii'));
		$c->addDescendingOrderByColumn(MaterialPeer::ID);		
		$this->mat = MaterialPeer::doSelect($c);
	}			
		
	public function executeNew_site() {

		$c = new Criteria();
		$c->add(MaterialPeer::TYPE_ID,1);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		
		// выбираем только предприятия
		$c->add(Mat2FolderPeer::FOLDER_ID,sfConfig::get('app_folder_org'));
		$c->addDescendingOrderByColumn('id');
		
		/*
		 * проверяем на период отображения материала (НАЧАЛО)
		 */
		 
		$what_is_date=date('Y-m-d');
		$crit1=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, $what_is_date, Criteria::LESS_EQUAL);
		$crit2=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE2, $what_is_date, Criteria::GREATER_EQUAL);
		$crit1->addAnd($crit2);  
		$crit3=$c->getNewCriterion(MaterialPeer::CUSTOM_DATE1, NULL, Criteria::ISNULL);
		$crit1->addOr($crit3);  
		$c->add($crit1);

		/*
		 * проверяем на период отображения материала (КОНЕЦ)
		 */		
		
	        //// город 
        if(sfConfig::get('app_use_region')==true)
        {
        	if(sfContext::getInstance()->getUser()->getAttribute('city_id')!=1)
        	{
				$crit1=$c->getNewCriterion(MaterialPeer::REGION_ID,sfContext::getInstance()->getUser()->getAttribute('city_id'));
				$crit2=$c->getNewCriterion(MaterialPeer::REGION_ID,1);
				$crit1->addOr($crit2);  
        		$c->add($crit1); 
        	}
        }
        		
		$c->setLimit(sfconfig::get('app_main_page_limit_new_site'));
		$this->mat = MaterialPeer::doSelect($c);
		
		
	}		

	public function executePhoto_gallery() {

		
		////Выбираем каталоги
		
		$c = new Criteria();
		$c->add(FolderPeer::SCOPE,sfConfig::get('app_scope_gallery'));
		$c->addAnd(FolderPeer::TREE_LEFT,1,Criteria::GREATER_THAN);
		$c->addAnd(FolderPeer::TREE_PARENT,sfConfig::get('app_folder_gallery'));
		$c->addAscendingOrderByColumn(FolderPeer::TREE_LEFT);
		$this->folders = FolderPeer::doSelect($c);
		///
	}	
	
	
	
	public function executeGetnews() {
		$c = new Criteria();
		$c->add(MaterialPeer::TYPE_ID,6);
		$c->addAnd(MaterialPeer::PUB,true);
		$c->addJoin(MaterialPeer::ID,Mat2FolderPeer::MATERIAL_ID);
		$c->add(Mat2FolderPeer::FOLDER_ID,$this->folder_id);    		
		$c->addDescendingOrderByColumn(MaterialPeer::RATING);
		$c->setLimit($this->limit);
		$this->mat = MaterialPeer::doSelect($c);
	}		
		
}
?>